package com.intelligent.service;

import com.intelligent.pojo.Workshops;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

/**
* @author lenovo
* @description 针对表【workshops(车间信息表)】的数据库操作Service
* @createDate 2025-08-30 14:48:49
*/
public interface WorkshopsService extends IService<Workshops> {

    /**
     * 分页查询车间信息（关联用户表）
     * @param page 分页参数
     * @param workshopCode 车间编号（可选）
     * @param workshopName 车间名称（可选）
     * @param username 负责人用户名（可选）
     * @param status 状态（可选）
     * @return 分页结果
     */
    IPage<Workshops> getWorkshopsPage(Page<Workshops> page, 
                                     String workshopCode,
                                     String workshopName,
                                     String username,
                                     Integer status);

    /**
     * 根据ID查询车间信息（关联用户表）
     * @param id 车间ID
     * @return 车间信息
     */
    Workshops getWorkshopsById(Long id);

    /**
     * 添加车间信息（自动生成车间编号）
     * @param workshops 车间信息
     * @return 是否添加成功
     */
    boolean addWorkshop(Workshops workshops);

    /**
     * 生成车间编号
     * @return 生成的车间编号
     */
    String generateWorkshopCode();

    /**
     * 更新车间信息
     * @param workshops 车间信息
     * @return 是否更新成功
     */
    boolean updateWorkshop(Workshops workshops);

    /**
     * 根据ID删除车间信息
     * @param id 车间ID
     * @return 是否删除成功
     */
    boolean deleteWorkshopById(Long id);
}
